time(), clock(), difftime() এর মাধ্যমে সময় মাপা

Computer Programming - সি স্ট্যান্ডার্ড লাইব্রেরি রেফারেন্স (C Standard Library Reference) Date এবং Time Functions (ডেট এবং টাইম ফাংশনস) |
206
206

time(), clock(), এবং difftime() এর মাধ্যমে সময় মাপা

সি প্রোগ্রামিং ভাষায় সময় মাপার জন্য time.h হেডার ফাইলটি ব্যবহৃত হয়। সময় মাপার জন্য সি ভাষায় বিভিন্ন ফাংশন রয়েছে, যেমন time(), clock(), এবং **difftime()**। এই ফাংশনগুলো সময়ের সাথে সম্পর্কিত বিভিন্ন কার্যক্রম যেমন সিস্টেম সময় বা প্রোগ্রামের রানটাইম পরিমাপ করতে ব্যবহৃত হয়। প্রতিটি ফাংশনই নির্দিষ্ট কাজের জন্য উপযোগী, এবং তাদের ব্যবহার সময় ব্যবস্থাপনা ও অপটিমাইজেশনের ক্ষেত্রে অত্যন্ত গুরুত্বপূর্ণ।

নিচে এই ফাংশনগুলোর ব্যবহার এবং কার্যকারিতা বিস্তারিতভাবে আলোচনা করা হলো।


১. time() – সিস্টেম টাইম

time() ফাংশনটি সিস্টেমের বর্তমান সময়কে ইউনিকোড টাইম স্ট্যাম্প (সময় গণনা সেকেন্ডে) হিসেবে রিটার্ন করে। এটি সাধারণত সিস্টেমের বর্তমান সময় মাপার জন্য ব্যবহৃত হয় এবং এটি প্রাথমিক সময়ের (epoch) থেকে সেকেন্ডের সংখ্যা রিটার্ন করে, যেটি 1970 সালের জানুয়ারি 1 তারিখ 00:00:00 UTC (Coordinated Universal Time) থেকে গণনা করা হয়।

সিঙ্কট্যাক্স:

time_t time(time_t *t);
  • t – যদি পয়েন্টার দেওয়া হয়, তাহলে এটি প্রাপ্ত সময়ে স্টোর করা হয়। এটি ঐচ্ছিক, তাই time(NULL) লিখেও ফাংশনটি ব্যবহার করা যেতে পারে।

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t current_time;
    current_time = time(NULL);  // বর্তমান সিস্টেম টাইম পাওয়া

    if (current_time == ((time_t)-1)) {
        printf("Error getting the time.\n");
        return 1;
    }

    printf("Current time: %ld seconds since the Epoch\n", current_time);
    return 0;
}

এখানে time(NULL) ফাংশনটি বর্তমান সময় (epoch থেকে সেকেন্ডে) রিটার্ন করেছে এবং এটি current_time ভেরিয়েবলে সংরক্ষিত হয়েছে।


২. clock() – প্রোগ্রামের রানটাইম

clock() ফাংশনটি প্রোগ্রামের রানটাইম পরিমাপ করতে ব্যবহৃত হয়। এটি CPU টাইম (সর্বমোট CPU ব্যবহার সময়) রিটার্ন করে, যা সেকেন্ডে পরিমাপ করা হয়। তবে, এটি সিস্টেম সময় নয়; এটি শুধুমাত্র প্রোগ্রামের CPU ব্যবহারকে হিসাব করে। তাই, যদি প্রোগ্রামটি অন্য কোনো প্রক্রিয়া বা থ্রেড দ্বারা ব্যস্ত না থাকে, তবে এটি একটি নির্ভুল সময় পরিমাপ করবে।

সিঙ্কট্যাক্স:

clock_t clock(void);
  • clock_t টাইপটি ফাংশনটির রিটার্ন টাইপ যা সিস্টেমের ব্যবহৃত CPU সময়ের মোট মান।

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    clock_t start_time, end_time;
    double time_taken;

    start_time = clock();  // প্রোগ্রাম শুরু হওয়ার সময়

    // কিছু কোড যা সময় নেবে
    for (long i = 0; i < 1000000; i++) {
        // উদ্দেশ্যহীন কাজ
    }

    end_time = clock();  // প্রোগ্রাম শেষ হওয়ার সময়

    time_taken = ((double)(end_time - start_time)) / CLOCKS_PER_SEC;  // CPU সময় সেকেন্ডে পরিণত করা

    printf("Time taken: %f seconds\n", time_taken);
    return 0;
}

এখানে clock() ফাংশনটি প্রোগ্রামের CPU সময় গণনা করেছে এবং CLOCKS_PER_SEC দ্বারা এটি সেকেন্ডে রূপান্তরিত হয়েছে।


৩. difftime() – দুটি সময়ের মধ্যে পার্থক্য

difftime() ফাংশনটি দুটি সময়ের মধ্যে পার্থক্য নির্ধারণ করতে ব্যবহৃত হয়। এটি সাধারণত time() ফাংশন থেকে প্রাপ্ত সময়ের মধ্যে পার্থক্য বের করার জন্য ব্যবহৃত হয়, এবং এটি সেকেন্ডে পার্থক্য রিটার্ন করে। এটি একটি প্রক্রিয়া বা ইভেন্টের সময়কাল পরিমাপ করতে সহায়ক।

সিঙ্কট্যাক্স:

double difftime(time_t time1, time_t time2);
  • time1 এবং time2 হল দুটি time_t টাইপের সময় মান, যেগুলোর মধ্যে পার্থক্য নির্ধারণ করা হবে।
  • এটি সেকেন্ডে সময়ের পার্থক্য রিটার্ন করে।

উদাহরণ:

#include <stdio.h>
#include <time.h>

int main() {
    time_t start_time, end_time;

    start_time = time(NULL);  // শুরু সময়

    // কিছু বিলম্ব
    for (long i = 0; i < 10000000; i++);

    end_time = time(NULL);  // শেষ সময়

    double elapsed_time = difftime(end_time, start_time);  // সময়ের পার্থক্য নির্ধারণ

    printf("Elapsed time: %.2f seconds\n", elapsed_time);
    return 0;
}

এখানে difftime() ফাংশনটি শুরু এবং শেষ সময়ের মধ্যে পার্থক্য নির্ধারণ করেছে এবং সেকেন্ডে ফলাফল প্রদর্শন করেছে।


সারসংক্ষেপ

ফাংশনকাজসিঙ্কট্যাক্স
time()সিস্টেমের বর্তমান সময় পাওয়াtime_t time(time_t *t);
clock()প্রোগ্রামের CPU ব্যবহৃত সময় পরিমাপ করাclock_t clock(void);
difftime()দুটি সময়ের মধ্যে পার্থক্য নির্ধারণdouble difftime(time_t time1, time_t time2);

এই ফাংশনগুলো time.h হেডার ফাইলের অংশ এবং সি প্রোগ্রামে সময় সম্পর্কিত কার্যক্রমের জন্য অপরিহার্য। time() সিস্টেম সময়, clock() প্রোগ্রামের CPU সময়, এবং difftime() দুটি সময়ের মধ্যে পার্থক্য নির্ধারণ করতে ব্যবহৃত হয়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion